package ace.tool.generate.code.impl.resolver.scheme.model.dto;

import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

/**
 * @author caspar
 * @date 2024/1/12 11:34
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class ClassFileInfo {

  /**
   * 文件完全名称 d:/generate/ace-module-demo-projects/ace-module-demo-sdk-starter/src/main/java/ace/module/demo/sdk/autoconfig/DemoSdkAutoConfig.java
   */
  private String classFileFullName;

  /**
   * 完全包路径 ace.module.demo.sdk.autoconfig
   */
  private String classPackageFullName;

  /**
   * 类完全名称 ace.module.demo.sdk.autoconfig.DemoSdkAutoConfig
   */
  private String classFullName;

  /**
   * 类名称 DemoSdkAutoConfig
   */
  private String className;

  /**
   * 实体类名 小写破折号类名 upms-role-authority
   */
  private String classNameLowercaseDashName;

  /**
   * 实体类名 首字母小写 upmsRoleAuthority
   */
  private String classNameFirstLowercase;
}
